def find(points_x, points_y):
    """

    Given n non-negative integers a1, a2, ..., an,
    where each represents a point at coordinate (i, ai).
    n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0).
    Find two lines, which together with x-axis forms a container, such that the container contains the most water.

    :type points: list
    :rtype i1, i2: int, int
    """
    if len(points_x) < 2 or len(points_x) != len(points_y):
        print('Points not enough for a container');
        return None;

    points_num = len(points_x);
    bestVol = 0;
    bestV_a = 0;
    bestV_b = 0;

    for i in range(0, points_num):
        for j in range(-1, i-points_num, -1):
            if points_y[i] < 0 or points_y[j] < 0:
                print('Negative input, invalid!');
                continue;
            vol = abs(points_x[i] - points_x[j]) * min(points_y[i], points_y[j]);
            if vol > bestVol:
                bestVol = vol;
                bestV_a = i;
                bestV_b = j;
    print(bestVol, bestV_a, bestV_b + points_num);
    return bestV_a, bestV_b + points_num;
